Release Notes
The notes below provide descriptions of the new features and changes introduced with each release of Eggplant DAI. You are strongly encouraged to read about the relevant changes whenever you upgrade from an earlier version.
Potential compatibility issues are highlighted.
To the extent you are entitled to a copy of the source code for the open source software distributed with this product, a free copy will be provided. Please contact us with your request.
System Requirements
You can find supported operating systems and system recommendations on the Prerequisites page.
Before you upgrade, make sure that you stop all your DAI servers and services, and then take a backup of your database folders (data
and minio
) and configuration file (config.yml
) before you start your installation. If there is a problem with your upgrade, you will need to restore to this point. If you have any questions or would like help testing your database before you upgrade, please contact your Technical Success Manager or our Customer Support.
- Eggplant DAI 7.4 is the latest major release.
- You must upgrade to Eggplant DAI 7.3 before you start your 7.4 upgrade.
- The upgrade may take 10-20 minutes to complete.
- Eggplant DAI 7.4 is only compatible with Eggplant Functional 23.4.x. When upgrading to Eggplant DAI 7.4, you must also update your version of Eggplant Functional.
Release 7.4 (August 2024)
This version of DAI includes the following enhancements, defect fixes, and CVE fixes:
Retry Test Configuration Runs
DAI can now retry any test configurations that would have ended with an error in previous versions due to the unavailability of required resources, such as a SUT or execution environment. Now, at the start of test configuration run, DAI can check the availability of the resources required. If they are locked, the execution status will be set to Pending
and the test configuration console log will report the resource constraint that is blocking the execution. Retries can occur at a regular interval, and for a period of time, specified by the DAI System Administrator in the server configuration. This enhancement enables you to fully benefit from step-level retesting and stop-on-failure without concern about scheduling clashes, and license or resource contention. See Retry Settings for SUT and Execution Environment Connections for information about these configuration options.
Enhanced Test Case Parameterization (Model-based)
You can now override existing model parameter values at the test case level by setting a custom value against any of the available parameters at the step level of the test case. Live Run now also supports the setting of the parameter values at runtime, so you can confirm the effect of applying specific values interactively. See the Set Parameters on the Live Run page for more information. In addition, the same parameter values can also be overridden at the test configuration level for tests executed by the Runner. With this new capability, you can avoid the need to duplicate test cases and test configurations to drive different application behavior thereby reducing your maintenance overhead. You can now consolidate to using a single set of test assets and drive the desired behavior by modifying with different parameter values as required. See Configure Custom Parameters for Steps Added.
The parameterization enhancement in DAI 7.4 is for model-based testing. Parameterization for script-based test cases has been available since DAI 7.2, but will be expanded for script-based test configurations in the next release, 7.5 . DAI 7.5 will also provide full CI/CD integration for both modes via the Eggplant Runner/Azure DevOps/GitHub/Jenkins integrations. These future enhancements will be beneficial in a number of scenarios such as dynamic environment or SUT allocation for a test run.
Windows Single System Connection Type Support (Development/Live Run)
You can now leverage the Eggplant Functional Single System connection type for Windows desktops in DAI. DAI support for this connection type is primarily designed to simplify the test asset development process through Live Run. The Single System connection type is available for both model- and script-based executions. When triggering a Live Run, you will need to select a pre-configured, ‘local’ Single System SUT connected to your ‘local’ Execution Environment. See Adding SUT Connections and Step by Step: Entering Single System Connection Details for more information about the Single System SUT connection type.
Live Run, which uses the DAI Design Agent, requires users to select a pre-configured DAI SUT that corresponds to the same host as the selected Execution Environment in order to gain access, i.e. both the Execution Environment and SUT are on the same host and linked in the SUT configuration.
Due to technical implementation constraints, when running a Test Config and therefore using a DAI Run Agent to execute using a Single System connection, the agent cannot be launched as a Windows service. It instead must be run from a command-line within an active desktop session.
Public API – Test Results Only
DAI 7.4 includes its first formal, publicly available API. This first public API provides access to test results for integration purposes only. You can use it to extract a list of test results, individual test logs, and screenshots. See Public API Overview for more information.
Test Result IDs Reported via the Eggplant Runner
The Eggplant Runner now includes links to individual results within the console log output, so you do not need to parse the result.xml file for third-party integrations. For example, you can now see result links similar to the following examples in your output:
2024-05-14 18:59:13,318 INFO Test configuration run completed with status SUCCESS
2024-05-14 18:59:13,318 INFO Test configuration ed6c3bc4-41a4-4cfa-abd2-e8a789f0d5d9 exited with status SUCCESS
2024-05-14 18:59:13,319 INFO Results: http://localhost:8000/controller/results/runs/b8e99c6d-1424-488d-8aed-539a84f4938a
2024-05-14 18:59:13,409 INFO Total test runs: 5
2024-05-14 18:59:13,410 INFO Test run 75: http://localhost:8000/controller/results/75
2024-05-14 18:59:13,410 INFO Test run 76: http://localhost:8000/controller/results/76
2024-05-14 18:59:13,410 INFO Test run 77: http://localhost:8000/controller/results/77
2024-05-14 18:59:13,411 INFO Test run 78: http://localhost:8000/controller/results/78
2024-05-14 18:59:13,411 INFO Test run 79: http://localhost:8000/controller/results/79
Encryption of RabbitMQ Traffic
DAI now provides an option to encrypt communication with its embedded message broker (RabbitMQ Server) when you enable HTTPS on your DAI server. Specifically, you can configure DAI to use Transport Layer Security (TLS) for all RabbitMQ communications. By default, RabbitMQ will continue to use unencrypted communications. To configure RabbitMQ to use a certificate to encrypt all traffic, you will need to modify the DAI configuration file (config.yml
) with new settings. See Encrypt RabbitMQ Communications for information about how to use these settings.
External Communication Protocol Security Hardening
This release includes configuration updates to nginx and Python to enable HTTPS security headers adn the addition of a whitelist of trusted domains for cross-origin resource sharing (CORS). Strict-Transport-Security, Content-Security-Policy and X-Content-Type-Options are all set by default on HTTPS configured instances with appropriate values.
Silent (Unattended) Install for Windows
DAI now supports the option to perform "silent", unattended installations, upgrades, and uninstalls at the command line. We use the term "silent" to describe the process of installing (or upgrading or uninstalling) without the input of a user through a graphical user interface (GUI). Instead, you can specify the configuration settings you want your DAI Server to run with in a new silent.ini file that the DAI installation program will read when it runs. You can use this silent option if you are automating the installation of DAI or if you only have command line access to a machine. See Silent Install, Upgrade, and Uninstall of Eggplant DAI on Windows for more information.
Defect Fixes
-
Fixed an issue where, in some circumstances, large models with a long change history could delay the start of test runs (CRD-1626).
-
Fixed an issue where passthrough parameter values were overwritten in the sub-model. The parameter value is now passed between the main model and sub-model without being regenerated, which preserves the value.
ノートYou should be aware that this change may affect existing model execution.
-
Fixed an issue where, in some circumstances, models with a large number of test cases experienced a delay when loading the list of test cases in a test configuration (CRD-1630).
-
Fixed an issue where test cases with a global action added to a state that had a state parameter defined were inappropriately reported as an 'Individual test case' and could not be executed. This is now allowed (CRD-1620).
-
Fixed an issue where attempts to upload a test suite with a name longer than 50 characters failed with a
Failed to deserialize exception
. Suite names containing more than 50 characters can now be uploaded to DAI successfully (CRD-1631). -
Fixed an issue where the Design Agent failed to upload suites to the Versioned Asset Manager on the DAI Server where filenames in the suite contained Unicode characters (CRD-1639).
CVE Fixes
DAI 7.4 remediates the following vulnerabilities, which are listed by whether they occurred in the DAI frontend or backend.
-
Upgrade of Jinja to 3.1.4 to remediate: CVE-2024-34064
-
Upgrade of Werkzeug to 3.0.3 to remediate: CVE-2024-34069
-
Upgrade of Keycloak to 25.0.1 to remediate against a number of Black Duck advisories
-
Upgrade of Nginix to 1.26.1 to remediate against a number of Black Duck advisories
-
Upgrade of mingit to 2.45.2
-
Upgrade of RabbitMQ to 3.13.3
-
OpenJDK upgrade to v21 (Keycloak)
-
PostgreSQL upgrade to 14.12-1
-
Minio upgrade to RELEASE.2024-06-06T09-36-42